Caernarfon has some nice independent shops in the pleasant streets of the walled town. Palas Print sells books, music and coffee, with a good Welsh language selection.
There is also a nice small clothes and accessories shop. Na Nog on the square is an option for presents with a local flavour, like childrens clothing with a Welsh theme. For a larger choice of shops, head to Bangor, Llandudno or perhaps Conwy.